I. Field of the Invention
The present invention pertains generally to the field of communications systems, and more specifically to demultiplexing for channel interleaving in communications systems with multiple carriers and/or transmitter diversity.
II. Background
Communications systems often employ channel encoding, and in connection therewith, a channel interleaver. Channel interleavers are particularly important for communication over fading channels. Interleavers are generally organized as a matrix of rows and columns of bit locations for storing data elements, or bits. The bits are written into the interleaver row by row and read out of the interleaver column by column. The interleaver mixes up the order of the bits generated during the encoding process. A particularly useful form of interleaver is a bit-reversal interleaver, which rearranges the rows as part of the interleaving process, thereby maximizing the time separation between adjacently written bits.
The main objective of a channel interleaver is to maximize the achievable diversity gain over fading channels. In a single-channel communications system, i.e., in a communications system with a single carrier (i.e., a single frequency band) and a single antenna, diversity can be achieved by time-separating the contiguous transmitted bits through interleaving, thereby producing decreased correlation between the transmitted bits. When a convolutional coder, or alternatively, a multiple-component coder (i.e., a turbo coder) that uses convolutional codes as its component codes, is used for channel encoding, the bits that are close together are likely to contribute to multiple error events. A bit-reversal interleaver is therefore particularly effective because, after bit-reversal interleaving, the distance between any two bits will be roughly inverse-proportional to the distance between the two bits before interleaving.
As an example, consider a 384-bit interleaver that is organized as a matrix of six columns and sixty-four rows. The data elements, or bits, are written into the interleaver matrix column by column. Prior to transmission, the bits are read out row by row, in a bit-reversed ordered of row indices. An exemplary interleaver matrix appears in pertinent part as follows:
      (                            0                          64                          128                          192                          256                          320                                      1                          65                          129                          193                          267                          321                                      ⋮                          ⋮                          ⋮                          ⋮                          ⋮                          ⋮                                      16                          80                          144                          208                          272                          336                                      ⋮                          ⋮                          ⋮                          ⋮                          ⋮                          ⋮                                      32                          96                          194                          195                          196                          197                                      ⋮                          ⋮                          ⋮                          ⋮                          ⋮                          ⋮                                      ⋮                          ⋮                          ⋮                          ⋮                          ⋮                          ⋮                                      63                          127                          191                          255                          319                          383                      )     
In transmission, the 0th row is sent first, followed by the 32nd row, and then the 16th row, and so on. The 1st row, i.e., the row having the elements 1, 65, 129, 193, 267, and 321, is sent as the 32nd row. Thus, the 0 bit and the 1 bit are separated by 191 other bits. The bits 0 through 6 will be transmitted in the following positions: 0 for bit 0, 192 for bit 1, 96 for bit 2, 288 for bit 3, 48 for bit 4, 240 for bit 5, and 144 for bit 6. Those of skill in the art can readily appreciate that after interleaving, any two adjacent bits are separated by at least 96 other bits, and any two bits separated by one bit are themselves separated by at least 48 other bits. Consequently, bit-reversal interleavers are widely used in, e.g., wireless communications systems, in which communications occur over fading channels.
However, a conventional, bit-reversal interleaving technique is less effective in achieving diversity gain in such systems when either antenna diversity or multiple carriers (frequency bands) are used. For example, when antenna diversity is used, the transmitted bits are broken into two bit streams that are transmitted separately from two antennas. A natural choice for the separation is to send the even bits to the first antenna (antenna 1) and send the odd bits to the second antenna (antenna 2). However, as can be seen from the above example, the first seven bits are all even bits, which will therefore be transmitted by antenna 1, allowing the scheme to degrade receiver performance. Namely, in the decoding process at the receiver end, these bits will be more likely to affect multiple error events than if the bits had been transmitted by different antennas. Hence, the advantage of antenna diversity has not been fully exploited.
A similar analysis can be conducted for a wireless communications system that uses multiple carriers. In such a system, bits would be routed to two or more different-frequency modulators, rather than being routed to two different antennas. Thus, there is a need for a device that enhances the capability of a channel interleaver to provide diversity gain in communications systems that use transmitter diversity and/or multiple carriers.